-
Notifications
You must be signed in to change notification settings - Fork 91
Add clarification for suppress_redundant and delete behavior. #224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Add clarification for suppress_redundant and delete behavior.
|
@ElodinLaarz thanks for this pull request. Can you quote any operational use cases where this is a problem today? This does look like a real gap in the logic, but I would like to hear of some real operational use cases where this is a problem before changing the specification. |
|
In the OC Community meeting, this older thread was brought up for historical context around suppress_redundant deprecation: openconfig/gnmi#114 |
|
I am not opposed to removing The additions here are merely to highlight that if suppress redundant is employed and deletes are not included, then a client can be left with indefinitely stale data. If, for example, you collect interface data with a SAMPLE subscription with |
|
In the community meeting several folks expressed that doing anything "stateful" for SAMPLE subscriptions is expensive on a network device and more in the spirit of being attached to ON_CHANGE subscriptions. Both suppress_redundant and delete notifications in a SAMPLE subscriptions have significant cost and impact to implementations - it would be good to avoid those for SAMPLE, and focus on ON_CHANGE for use cases that require async notification and "stateful" type notification. |
|
A possible reason for wanting Importantly, if you subscribe to a path (e.g. Counters) But this expected cadence is opaque to the subscriber. I spoke with Darren offline, and it is possible that So, there is a use-case for |
|
Another case in support of the deprecation of suppress redundancy then delete is no longer an issue. openconfig/gnmi#114. |
|
Reviewed in May 6, 2025 OC operators meeting. It's suggested to instead proposal a deprecation of this field from the gnmi specification as it appears infeasible to implement at scale and to avoid this ambiguity it introduces. @ElodinLaarz we would appreciate it if you could make that proposal. |
In the specification, deletes are listed as optional for
SAMPLEsubscriptions, but this is not the case when thesuppress_redundantflag is present.Normally, if a client does not get a notification for a leaf over a
SAMPLEsubscription, they can use some form of cache invalidation to get rid of stale values. Sincesuppress_redundantcould cause some notifications to be withheld for arbitrary lengths of time, the client cannot decide when the data should be invalidated; so, the server must send deletes.